package com.linkgie.galaxyframework.crypto;

import com.linkgie.galaxyframework.utils.Base58Encoding;

/**
 * 密码地址；
 * <p>
 * 
 * 密码地址是由密码哈希算法经过某种计算步骤生成的与原始输入内容的对应的密码指纹信息<br>
 * 可用于代表原始输入，同时避免了由地址反推原文的安全风险；
 */
public interface CryptoAddress {

	/**
	 * 地址生成算法；
	 * 
	 * @return
	 */
	String getAlgorithm();

	/**
	 * @return
	 */
	byte[] toBytes();

	default String toBase58() {
		return Base58Encoding.encode(toBytes());
	}

}
